import {fileURLToPath, URL} from 'node:url'

import {defineConfig} from 'vite'
import vue from '@vitejs/plugin-vue'

import {resolve} from 'path'
import {createSvgIconsPlugin} from 'vite-plugin-svg-icons'

// 1.引入svg插件
// https://vitejs.dev/config/
export default defineConfig({
    plugins: [
        vue(),
        createSvgIconsPlugin({
            // 这个是自己配置的图标路径，指出来（自己咋配置的咋来）
            iconDirs: [resolve(process.cwd(), 'src/icons/svg')],
            // 这个表示id，按这个来就对了
            symbolId: 'icon-[name]',
        }),
    ],
    resolve: {
        alias: {
            '@': fileURLToPath(new URL('./src', import.meta.url))
        }
    },

    //--------------------------------- server配置
    server: {
        host: '0.0.0.0',
        port: 80,
        open: true,
        /*
        proxy: { // 本地开发环境通过代理实现跨域，生产环境使用 nginx 转发
            // 正则表达式写法 axios.defaults.baseURL = '/api'
            '/api': {
                target: 'http://127.0.0.1:8888/api/private/v1/', // 后端服务实际地址  http://localhost:8080/dbs url写成 /api/dbs
                changeOrigin: true, //开启代理
                rewrite: (path) => path.replace(/^\/api/, '')
            }
        }*/
    },
    //-----------------------------------
    // scss全局变量的一个配置
    css: {
        preprocessorOptions: {
            scss: {
                javascriptEnable: true,
                additionalData: `
                    @import "@/styles/variables.scss";  // scss文件地址
                    @import "@/styles/mixin.scss";     // scss文件地址
                `
            }
        }
    }
})
